Pouvoir compiler pour une autre architecture que la sienne ou comment faire de la compilation croisée

La compilation croisée ou «cross-compilation» en anglais permet de créer des exécutables depuis une certaine architecture pour une autre (Linux 32bits / 64bits mais aussi windows…). Cela permet de créer des paquets pour des systèmes que nous n'avons pas sous la main !

Pour cela, nous allons compiler… un compilateur ! Mais attention, il sera BRUT c'est-à-dire sans aucune bibliothèque. On pourra alors compiler le kernel Linux ou une bibliothèque.

Prérequis

Avoir jeté un oeil sur la page traitant de la compilation standard : compilation

Si vous vouler compiler pour Windows®, vous avez de la chance, tout existe en paquets : c'est le Mingw32. Il vous suffira de l'installer simplement.

Avoir téléchargé les sources de binutils et gcc. Prendre la dernière version ne devrait pas faire de mal.